#ifndef _LIST_H_
#define _LIST_H_

#include <stdbool.h>

#define TSIZE 64

struct film{
	char title[TSIZE];
	int rating;
};

typedef struct film Item;

typedef struct node{
	Item item;
	struct node *next;
	struct node *prev;

	//int (*init)(struct node *plist);
	bool (*isEmpty)(struct node **plist);
	bool (*isFull)(struct node **plist);
	int (*count)(struct node **plist);
	bool (*addItem)(struct node **plist, Item item);
	void (*traverse)(struct node **plist, void (*func)(Item *item));
	void (*reverse)(struct node **plist, void (*func)(Item *item));
	void (*empty)(struct node **plist);
}Node;

typedef Node *List;

//把列表初始化为空的列表
int listInit(List *plist);

void printItem(Item *item);

/* //判断列表是否为空
bool listIsEmpty(List *plist);

//判断列表是否为满
bool listIsFull(List *plist);

//返回列表个数
int listCount(List *plist);

//添加项目
bool listAddItem(List *plist, Item item);

//遍历列表
void listTraverse(List *plist, void (*func)(Item *item));

//逆序显示列表
void listReverse(List *plist, void (*func)(Item *item));

//清空列表
void listEmpty(List *plist); */



//删

//改

//查

#endif
